
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>19.1.11. email.header: Internationalized headers &#8212; Python 3.6.3 documentation</title>
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '3.6.3',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python 3.6.3 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="next" title="19.1.12. email.charset: Representing character sets" href="email.charset.html" />
    <link rel="prev" title="19.1.10. email.mime: Creating email and MIME objects from scratch" href="email.mime.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <link rel="canonical" href="https://docs.python.org/3/library/email.header.html" />
    
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    <script type="text/javascript" src="../_static/switchers.js"></script>
    
    
 

  </head>
  <body>  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="email.charset.html" title="19.1.12. email.charset: Representing character sets"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="email.mime.html" title="19.1.10. email.mime: Creating email and MIME objects from scratch"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <span class="language_switcher_placeholder">en</span>
          <span class="version_switcher_placeholder">3.6.3</span>
          <a href="../index.html">Documentation </a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="netdata.html" >19. Internet Data Handling</a> &#187;</li>
          <li class="nav-item nav-item-3"><a href="email.html" accesskey="U">19.1. <code class="docutils literal"><span class="pre">email</span></code> — An email and MIME handling package</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="Quick search" type="text" name="q" />
          <input type="submit" value="Go" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>    

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="module-email.header">
<span id="email-header-internationalized-headers"></span><h1>19.1.11. <a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal"><span class="pre">email.header</span></code></a>: Internationalized headers<a class="headerlink" href="#module-email.header" title="Permalink to this headline">¶</a></h1>
<p><strong>Source code:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.6/Lib/email/header.py">Lib/email/header.py</a></p>
<hr class="docutils" />
<p>This module is part of the legacy (<code class="docutils literal"><span class="pre">Compat32</span></code>) email API.  In the current API
encoding and decoding of headers is handled transparently by the
dictionary-like API of the <a class="reference internal" href="email.message.html#email.message.EmailMessage" title="email.message.EmailMessage"><code class="xref py py-class docutils literal"><span class="pre">EmailMessage</span></code></a> class.  In
addition to uses in legacy code, this module can be useful in applications that
need to completely control the character sets used when encoding headers.</p>
<p>The remaining text in this section is the original documentation of the module.</p>
<p><span class="target" id="index-0"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> is the base standard that describes the format of email messages.
It derives from the older <span class="target" id="index-1"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc822.html"><strong>RFC 822</strong></a> standard which came into widespread use at
a time when most email was composed of ASCII characters only.  <span class="target" id="index-2"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> is a
specification written assuming email contains only 7-bit ASCII characters.</p>
<p>Of course, as email has been deployed worldwide, it has become
internationalized, such that language specific character sets can now be used in
email messages.  The base standard still requires email messages to be
transferred using only 7-bit ASCII characters, so a slew of RFCs have been
written describing how to encode email containing non-ASCII characters into
<span class="target" id="index-3"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a>-compliant format. These RFCs include <span class="target" id="index-4"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2045.html"><strong>RFC 2045</strong></a>, <span class="target" id="index-5"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2046.html"><strong>RFC 2046</strong></a>,
<span class="target" id="index-6"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a>, and <span class="target" id="index-7"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2231.html"><strong>RFC 2231</strong></a>. The <a class="reference internal" href="email.html#module-email" title="email: Package supporting the parsing, manipulating, and generating email messages."><code class="xref py py-mod docutils literal"><span class="pre">email</span></code></a> package supports these standards
in its <a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal"><span class="pre">email.header</span></code></a> and <a class="reference internal" href="email.charset.html#module-email.charset" title="email.charset: Character Sets"><code class="xref py py-mod docutils literal"><span class="pre">email.charset</span></code></a> modules.</p>
<p>If you want to include non-ASCII characters in your email headers, say in the
<em class="mailheader">Subject</em> or <em class="mailheader">To</em> fields, you should use the
<a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> class and assign the field in the <a class="reference internal" href="email.compat32-message.html#email.message.Message" title="email.message.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a>
object to an instance of <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> instead of using a string for the header
value.  Import the <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> class from the <a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal"><span class="pre">email.header</span></code></a> module.
For example:</p>
<div class="highlight-python3"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">email.message</span> <span class="k">import</span> <span class="n">Message</span>
<span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">email.header</span> <span class="k">import</span> <span class="n">Header</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">msg</span> <span class="o">=</span> <span class="n">Message</span><span class="p">()</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">h</span> <span class="o">=</span> <span class="n">Header</span><span class="p">(</span><span class="s1">&#39;p</span><span class="se">\xf6</span><span class="s1">stal&#39;</span><span class="p">,</span> <span class="s1">&#39;iso-8859-1&#39;</span><span class="p">)</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">msg</span><span class="p">[</span><span class="s1">&#39;Subject&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">h</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">msg</span><span class="o">.</span><span class="n">as_string</span><span class="p">()</span>
<span class="go">&#39;Subject: =?iso-8859-1?q?p=F6stal?=\n\n&#39;</span>
</pre></div>
</div>
<p>Notice here how we wanted the <em class="mailheader">Subject</em> field to contain a non-ASCII
character?  We did this by creating a <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> instance and passing in
the character set that the byte string was encoded in.  When the subsequent
<a class="reference internal" href="email.compat32-message.html#email.message.Message" title="email.message.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> instance was flattened, the <em class="mailheader">Subject</em>
field was properly <span class="target" id="index-8"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a> encoded.  MIME-aware mail readers would show this
header using the embedded ISO-8859-1 character.</p>
<p>Here is the <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> class description:</p>
<dl class="class">
<dt id="email.header.Header">
<em class="property">class </em><code class="descclassname">email.header.</code><code class="descname">Header</code><span class="sig-paren">(</span><em>s=None</em>, <em>charset=None</em>, <em>maxlinelen=None</em>, <em>header_name=None</em>, <em>continuation_ws=' '</em>, <em>errors='strict'</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header" title="Permalink to this definition">¶</a></dt>
<dd><p>Create a MIME-compliant header that can contain strings in different character
sets.</p>
<p>Optional <em>s</em> is the initial header value.  If <code class="docutils literal"><span class="pre">None</span></code> (the default), the
initial header value is not set.  You can later append to the header with
<a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal"><span class="pre">append()</span></code></a> method calls.  <em>s</em> may be an instance of <a class="reference internal" href="stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal"><span class="pre">bytes</span></code></a> or
<a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>, but see the <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal"><span class="pre">append()</span></code></a> documentation for semantics.</p>
<p>Optional <em>charset</em> serves two purposes: it has the same meaning as the <em>charset</em>
argument to the <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal"><span class="pre">append()</span></code></a> method.  It also sets the default character set
for all subsequent <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal"><span class="pre">append()</span></code></a> calls that omit the <em>charset</em> argument.  If
<em>charset</em> is not provided in the constructor (the default), the <code class="docutils literal"><span class="pre">us-ascii</span></code>
character set is used both as <em>s</em>’s initial charset and as the default for
subsequent <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal"><span class="pre">append()</span></code></a> calls.</p>
<p>The maximum line length can be specified explicitly via <em>maxlinelen</em>.  For
splitting the first line to a shorter value (to account for the field header
which isn’t included in <em>s</em>, e.g. <em class="mailheader">Subject</em>) pass in the name of the
field in <em>header_name</em>.  The default <em>maxlinelen</em> is 76, and the default value
for <em>header_name</em> is <code class="docutils literal"><span class="pre">None</span></code>, meaning it is not taken into account for the
first line of a long, split header.</p>
<p>Optional <em>continuation_ws</em> must be <span class="target" id="index-9"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a>-compliant folding
whitespace, and is usually either a space or a hard tab character.  This
character will be prepended to continuation lines.  <em>continuation_ws</em>
defaults to a single space character.</p>
<p>Optional <em>errors</em> is passed straight through to the <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal"><span class="pre">append()</span></code></a> method.</p>
<dl class="method">
<dt id="email.header.Header.append">
<code class="descname">append</code><span class="sig-paren">(</span><em>s</em>, <em>charset=None</em>, <em>errors='strict'</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.append" title="Permalink to this definition">¶</a></dt>
<dd><p>Append the string <em>s</em> to the MIME header.</p>
<p>Optional <em>charset</em>, if given, should be a <a class="reference internal" href="email.charset.html#email.charset.Charset" title="email.charset.Charset"><code class="xref py py-class docutils literal"><span class="pre">Charset</span></code></a>
instance (see <a class="reference internal" href="email.charset.html#module-email.charset" title="email.charset: Character Sets"><code class="xref py py-mod docutils literal"><span class="pre">email.charset</span></code></a>) or the name of a character set, which
will be converted to a <a class="reference internal" href="email.charset.html#email.charset.Charset" title="email.charset.Charset"><code class="xref py py-class docutils literal"><span class="pre">Charset</span></code></a> instance.  A value
of <code class="docutils literal"><span class="pre">None</span></code> (the default) means that the <em>charset</em> given in the constructor
is used.</p>
<p><em>s</em> may be an instance of <a class="reference internal" href="stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal"><span class="pre">bytes</span></code></a> or <a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>.  If it is an
instance of <a class="reference internal" href="stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal"><span class="pre">bytes</span></code></a>, then <em>charset</em> is the encoding of that byte
string, and a <a class="reference internal" href="exceptions.html#UnicodeError" title="UnicodeError"><code class="xref py py-exc docutils literal"><span class="pre">UnicodeError</span></code></a> will be raised if the string cannot be
decoded with that character set.</p>
<p>If <em>s</em> is an instance of <a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a>, then <em>charset</em> is a hint specifying
the character set of the characters in the string.</p>
<p>In either case, when producing an <span class="target" id="index-10"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a>-compliant header using
<span class="target" id="index-11"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a> rules, the string will be encoded using the output codec of
the charset.  If the string cannot be encoded using the output codec, a
UnicodeError will be raised.</p>
<p>Optional <em>errors</em> is passed as the errors argument to the decode call
if <em>s</em> is a byte string.</p>
</dd></dl>

<dl class="method">
<dt id="email.header.Header.encode">
<code class="descname">encode</code><span class="sig-paren">(</span><em>splitchars=';</em>, <em>\t'</em>, <em>maxlinelen=None</em>, <em>linesep='\n'</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.encode" title="Permalink to this definition">¶</a></dt>
<dd><p>Encode a message header into an RFC-compliant format, possibly wrapping
long lines and encapsulating non-ASCII parts in base64 or quoted-printable
encodings.</p>
<p>Optional <em>splitchars</em> is a string containing characters which should be
given extra weight by the splitting algorithm during normal header
wrapping.  This is in very rough support of <span class="target" id="index-12"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a>’s ‘higher level
syntactic breaks’:  split points preceded by a splitchar are preferred
during line splitting, with the characters preferred in the order in
which they appear in the string.  Space and tab may be included in the
string to indicate whether preference should be given to one over the
other as a split point when other split chars do not appear in the line
being split.  Splitchars does not affect <span class="target" id="index-13"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a> encoded lines.</p>
<p><em>maxlinelen</em>, if given, overrides the instance’s value for the maximum
line length.</p>
<p><em>linesep</em> specifies the characters used to separate the lines of the
folded header.  It defaults to the most useful value for Python
application code (<code class="docutils literal"><span class="pre">\n</span></code>), but <code class="docutils literal"><span class="pre">\r\n</span></code> can be specified in order
to produce headers with RFC-compliant line separators.</p>
<div class="versionchanged">
<p><span class="versionmodified">Changed in version 3.2: </span>Added the <em>linesep</em> argument.</p>
</div>
</dd></dl>

<p>The <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> class also provides a number of methods to support
standard operators and built-in functions.</p>
<dl class="method">
<dt id="email.header.Header.__str__">
<code class="descname">__str__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.__str__" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns an approximation of the <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> as a string, using an
unlimited line length.  All pieces are converted to unicode using the
specified encoding and joined together appropriately.  Any pieces with a
charset of <code class="docutils literal"><span class="pre">'unknown-8bit'</span></code> are decoded as ASCII using the <code class="docutils literal"><span class="pre">'replace'</span></code>
error handler.</p>
<div class="versionchanged">
<p><span class="versionmodified">Changed in version 3.2: </span>Added handling for the <code class="docutils literal"><span class="pre">'unknown-8bit'</span></code> charset.</p>
</div>
</dd></dl>

<dl class="method">
<dt id="email.header.Header.__eq__">
<code class="descname">__eq__</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.__eq__" title="Permalink to this definition">¶</a></dt>
<dd><p>This method allows you to compare two <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> instances for
equality.</p>
</dd></dl>

<dl class="method">
<dt id="email.header.Header.__ne__">
<code class="descname">__ne__</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.__ne__" title="Permalink to this definition">¶</a></dt>
<dd><p>This method allows you to compare two <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> instances for
inequality.</p>
</dd></dl>

</dd></dl>

<p>The <a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal"><span class="pre">email.header</span></code></a> module also provides the following convenient functions.</p>
<dl class="function">
<dt id="email.header.decode_header">
<code class="descclassname">email.header.</code><code class="descname">decode_header</code><span class="sig-paren">(</span><em>header</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.decode_header" title="Permalink to this definition">¶</a></dt>
<dd><p>Decode a message header value without converting the character set. The header
value is in <em>header</em>.</p>
<p>This function returns a list of <code class="docutils literal"><span class="pre">(decoded_string,</span> <span class="pre">charset)</span></code> pairs containing
each of the decoded parts of the header.  <em>charset</em> is <code class="docutils literal"><span class="pre">None</span></code> for non-encoded
parts of the header, otherwise a lower case string containing the name of the
character set specified in the encoded string.</p>
<p>Here’s an example:</p>
<div class="highlight-python3"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">email.header</span> <span class="k">import</span> <span class="n">decode_header</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">decode_header</span><span class="p">(</span><span class="s1">&#39;=?iso-8859-1?q?p=F6stal?=&#39;</span><span class="p">)</span>
<span class="go">[(b&#39;p\xf6stal&#39;, &#39;iso-8859-1&#39;)]</span>
</pre></div>
</div>
</dd></dl>

<dl class="function">
<dt id="email.header.make_header">
<code class="descclassname">email.header.</code><code class="descname">make_header</code><span class="sig-paren">(</span><em>decoded_seq</em>, <em>maxlinelen=None</em>, <em>header_name=None</em>, <em>continuation_ws=' '</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.make_header" title="Permalink to this definition">¶</a></dt>
<dd><p>Create a <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> instance from a sequence of pairs as returned by
<a class="reference internal" href="#email.header.decode_header" title="email.header.decode_header"><code class="xref py py-func docutils literal"><span class="pre">decode_header()</span></code></a>.</p>
<p><a class="reference internal" href="#email.header.decode_header" title="email.header.decode_header"><code class="xref py py-func docutils literal"><span class="pre">decode_header()</span></code></a> takes a header value string and returns a sequence of
pairs of the format <code class="docutils literal"><span class="pre">(decoded_string,</span> <span class="pre">charset)</span></code> where <em>charset</em> is the name of
the character set.</p>
<p>This function takes one of those sequence of pairs and returns a
<a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> instance.  Optional <em>maxlinelen</em>, <em>header_name</em>, and
<em>continuation_ws</em> are as in the <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal"><span class="pre">Header</span></code></a> constructor.</p>
</dd></dl>

</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="email.mime.html"
                        title="previous chapter">19.1.10. <code class="docutils literal"><span class="pre">email.mime</span></code>: Creating email and MIME objects from scratch</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="email.charset.html"
                        title="next chapter">19.1.12. <code class="docutils literal"><span class="pre">email.charset</span></code>: Representing character sets</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../bugs.html">Report a Bug</a></li>
      <li>
        <a href="https://github.com/python/cpython/blob/3.6/Doc/library/email.header.rst"
            rel="nofollow">Show Source
        </a>
      </li>
    </ul>
  </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="email.charset.html" title="19.1.12. email.charset: Representing character sets"
             >next</a> |</li>
        <li class="right" >
          <a href="email.mime.html" title="19.1.10. email.mime: Creating email and MIME objects from scratch"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <span class="language_switcher_placeholder">en</span>
          <span class="version_switcher_placeholder">3.6.3</span>
          <a href="../index.html">Documentation </a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="netdata.html" >19. Internet Data Handling</a> &#187;</li>
          <li class="nav-item nav-item-3"><a href="email.html" >19.1. <code class="docutils literal"><span class="pre">email</span></code> — An email and MIME handling package</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="Quick search" type="text" name="q" />
          <input type="submit" value="Go" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>  
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 2001-2017, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="https://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Oct 14, 2017.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.6.4.
    </div>

  </body>
</html>